package Managedbean;

import java.util.ArrayList;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import modelo.Producto;

import controlador.ProductoEJBRemote;

@ManagedBean
public class ProductoMB {
	@EJB(name="ProductoEJBRemote", mappedName="ProductoEJBRemote")
	ProductoEJBRemote bean;
	private ArrayList <Producto> productos;
	private Producto p;
	private String id;
	private String nombre;
	private String descripcion;
	private String categoria;
	private String stock;
	private String precio;
	
	@PostConstruct
	public void init() {
		this.productos = bean.capturarProducto();
		this.p = new Producto();
	}
	
	public String agregar(){
		int intStock = Integer.parseInt(this.stock);
		int intPrecio = Integer.parseInt(this.precio);
		bean.agregarProducto(new Producto(this.id,this.nombre,this.descripcion,this.categoria,intStock,intPrecio));
		init();
		return "index";
		
	}
	public void eliminar(String id){
		bean.eliminarProducto(id);
		init();
	}
	public String editar(){
		int intStock = Integer.parseInt(this.stock);
		int intPrecio = Integer.parseInt(this.precio);
		bean.remplazarProducto(this.id,this.nombre,this.descripcion,this.categoria,intStock,intPrecio);
		init();
		return "index";
	}
	public String enviarEdit(Producto p){
		this.id = p.getId();
		this.nombre = p.getNombre();
		this.descripcion = p.getDescripcion();
		this.categoria = p.getCategoria();
		this.stock = ""+p.getStock();
		this.precio = ""+p.getPrecio();
		return "editar";
	}
	
	
	
	
	///////////////////////////////////////////////////////GETTER Y SETTER'S
	public ArrayList<Producto> getProductos() {
		return productos;
	}
	public void setProductos(ArrayList<Producto> productos) {
		this.productos = productos;
	}
	public Producto getP() {
		return p;
	}
	public void setP(Producto p) {
		this.p = p;
	}
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public String getCategoria() {
		return categoria;
	}
	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}
	public String getStock() {
		return stock;
	}
	public void setStock(String stock) {
		this.stock = stock;
	}
	public String getPrecio() {
		return precio;
	}
	public void setPrecio(String precio) {
		this.precio = precio;
	}
	
	
}
